#ifndef QTAV_VIDEORENDERERTYPES_H
#define QTAV_VIDEORENDERERTYPES_H

#include <QtAV/VideoRenderer.h>
#include <QtAV/FactoryDefine.h>

namespace QtAV {

class VideoRenderer;
FACTORY_DECLARE(VideoRenderer)

//Q_AV_EXPORT(dllexport/import) is needed if used out of the library
//TODO graphics item?
extern Q_AV_EXPORT VideoRendererId VideoRendererId_QPainter;
extern Q_AV_EXPORT VideoRendererId VideoRendererId_Widget;
extern Q_AV_EXPORT VideoRendererId VideoRendererId_GraphicsItem;
extern Q_AV_EXPORT VideoRendererId VideoRendererId_GLWidget;
extern Q_AV_EXPORT VideoRendererId VideoRendererId_GDI;
extern Q_AV_EXPORT VideoRendererId VideoRendererId_Direct2D;
extern Q_AV_EXPORT VideoRendererId VideoRendererId_XV;

Q_AV_EXPORT void VideoRenderer_RegisterAll();

} //namespace QtAV

#endif // QTAV_VIDEORENDERERTYPES_H
